package modelo;

import static javax.persistence.GenerationType.IDENTITY;

import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

@Entity
@Table(name = "pais", catalog = "eventos_compartidos")
public class Pais implements java.io.Serializable {

	private static final long serialVersionUID = -9114397940235868022L;
	private Integer idPais;
	private String nombrePais;
	private Set<Provincia> provincias = new HashSet<Provincia>(0);

	public Pais() {
	}

	public Pais(String nombrePais) {
		this.nombrePais = nombrePais;
	}

	public Pais(String nombrePais, Set<Provincia> provincias) {
		this.nombrePais = nombrePais;
		this.provincias = provincias;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idPais", unique = true, nullable = false)
	public Integer getIdPais() {
		return this.idPais;
	}

	public void setIdPais(Integer idPais) {
		this.idPais = idPais;
	}

	@Column(name = "nombrePais", nullable = false, length = 50)
	public String getNombrePais() {
		return this.nombrePais;
	}

	public void setNombrePais(String nombrePais) {
		this.nombrePais = nombrePais;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "pais")
	public Set<Provincia> getProvincias() {
		return this.provincias;
	}

	public void setProvincias(Set<Provincia> provincias) {
		this.provincias = provincias;
	}

}